package com.example.springboothomework.service;

import com.example.springboothomework.common.PageResponse;
import com.example.springboothomework.entity.Company;
import com.example.springboothomework.entity.dto.CompanyDTO;
import com.example.springboothomework.entity.vo.CompanyInfoVo;

import java.util.List;

/**
 * 公司service接口
 *
 * @author chenjianhao
 * @date 2025/6/6
 *
 */
public interface ICompanyService {
    /**
     * 添加公司
     * @param companyDTO
     * @return
     */
    Long save(CompanyDTO companyDTO);

    /**
     * 删除公司
     * @param id
     * @return
     */
    void delete(Long id);

    /**
     * 更新公司
     * @param companyDTO
     * @return
     */
    void update(CompanyDTO companyDTO);

    /**
     * 通过id获得公司
     * @param id 公司id
     * @return
     */
    Company info(Long id);

    /**
     * 分页查询公司list
     * @param pageNum
     * @param pageSize
     * @param keyword
     * @return
     */
    PageResponse<Company> queryPage(Integer pageNum, Integer pageSize, String keyword);

    /**
     * 获得所有公司的基本信息（id+name）
     * @return
     */
    List<CompanyInfoVo> getAllIdAndName();
}